Dependencies

#tinytex::install_tinytex()
#installed.packages('foreign')
#install.packages("ggplot2")
#install.packages("dplyr")
#install.packages("plotly")
#install.packages('car')

library(tidyverse)
library(knitr)
library(foreign)
library(ggplot2)
library(dplyr)
library(plotly)
library(car)

Aplicación del Método de MCO: Retornos a Escala en la Industria Eléctrica

Esta aplicación tiene su origen en el trabajo de Nerlove (1963). Este es un estudio clásico de los retornos a escala en una industria regulada. Nerlove ofreció una buena descripción de la industria eléctrica, dicha descripción es válida para el momento en que se escribió:

Respecto de los datos, estos consisten en 145 empresas ubicadas en 44 estados en EUA en el año 1955, ya que son para los únicos estados para los que existe información. El estudio utilizó información de aproximadamente el 80% de la electricidad producida.

Visto por la forma de producción, Nerlove identicó que existían 3 métodos de producción de electricidad:

Al respecto, Nerlove muestra que en los 50's cerca del 70% de la electricidad era producida por las empresas termoeléctricas. El combustible pincipal empleado en dichas termoeléctricas era carbón (66.4%), seguido de petróleo (14.5%) y gasolina (19.1%).

Variables

Variables consideradas en el análisis: costos totales, precios de los factores (salarios, precios de combustibles, renta o precio del capital), y el producto. Aunque las empresas son dueñas del capital, en el modelo se supone que dichas empresas se comportan como si estas pagaran una renta de capital, por lo que se imputa un precio por el costo de capital.

No obstante, para mayores detalles refierase al documento original de Nerlove, donde se describe con mayor detalle la forma en que fue construída la base de datos. Los datos de producción, combustibles y costos laborales fueron obtenidos de la Federal Power Commision (1956).

Motivación económica

La motivación para el analísis es que mediante un enfoque econométrico se puede construir una curva de costo promedio (AC, por sus siglas en inglés) para cada empresa, misma que es diferente de la promedio de la industria. Esto es, la empresas enfrentan diferentes precios por los factores productivos y por lo tanto diferentes costos totales, medios y marginales.

Para enfocarnos en la conexión entre la eficiencia de producción y el producto, asumimos que todas las empresas enfrentan mas o menos los mismos precios de los factores, y la única razón por la que las curvas de costo medio (AC) y de costo marginal (MC) difieren entre las empresas es la diferencia en la eficiencia productiva. Las curvas de AC y de MC tienen pendiente positiva para reflejar retornos a escala decrecientes.

Si vemos la siguiente Figura, las curvas de AC y MC de la empresa A estan a la izquierda de las de la empresa B porque la empresa A es menos eficiente que B. Esto es derivado de que la industria es competida, ambas empresas enfrentan el mismo precio 𝑝. Dado que la cantidad está determinada por la intersección de MC y el precio de mercado, las combinaciones de cantidad / producto y el AC para las dos empresas e ilustra en la Figura.

De esta forma, la curva que resulta de conectar los puntos A y B puede tener una pendiente negativa, dando la impresión de un escenario de rendimientos crecientes a escala en la industria, ya que la agregación de todos los puntos de las empresas individuales conformaran la curva de costos promedio de la industria.

La parametrización de la función de costos parte de una función de producción del tipo Cobb - Douglas: \[Q_i = A_i x^{\alpha_1}_{i1} x^{\alpha_2}_{i2} x^{\alpha_3}_{i3}\]

Donde \(Q_i\) es la producción de la empresa \(i\), \(x_{i1}\) es el insumo de trabajo para la empresa \(i\), \(x_{i2}\) es el insumo capital para la empresa \(i\), y \(x_{i3}\) es el insumo de combustible para la empresa \(i\). El término \(A_i\) captura las diferencias no observables en la eficiencia de producción (este término también es conocido como el de heterogenidad de las empresas).

Asimismo, la suma de los paramétros: \(\alpha_1 + \alpha_2 + \alpha_3 = r\) indica el grado de retornos a escala. Dado esto último, asumiremos que el grado de retornos a escala es constante (esto no significa que existen retornos a escala constantes, ya que para ello se debería cumplir que \(r = 1\)). Adicionalmente, en el modelo se supone que dada la naturaleza de propiedad de las empresas generadoras, el problema que cada una ellas enfrenta es uno de minimización de costos (véase Nerlove (1963) para una discusión sobre las restricciones relacionadas con este supuesto).

En este sentido, el problema que cada empresa enfrenta es el de minimizar sus costos de producción, sujeto a la cantidad producida, es decir: \[\min_{x_{i1}, \ldots, x_{iK}} \sum_{k = 1}^{K} p_{ik}x_{ik}\] s.a. \[Q_i = f(x_{i1}, \ldots, x_{iK}, A_i)\]

Resolviendo el problema anterior (ver notas de clase para detalles): \[ln(C_i) = \mu_i + \frac{1}{r} ln(Q_i) + \frac{\alpha_1}{r} ln(p_{i1}) + \frac{\alpha_2}{r} ln(p_{i2}) + \frac{\alpha_3}{r} ln(p_{i3})\]

Donde \(\mu_i = ln \left[ r \left( A_i \alpha^{\alpha_1}_{1} \alpha^{\alpha_2}_{2} \alpha^{\alpha_3}_{3} \right)^{-1/r} \right]\).

La ecuación es conocida como una ecuación log-lineal, de la cual se puede interpretar a sus pendientes como elasticidades. Es decir, el cambio porcentual en el costo total cuando se incremnta en 1% el precio de cualquiera de los factores.

Si definimos a \(\mu = \mathbb{E} [\mu_i]\) y a \(\varepsilon_i = \mu_i - \mu\), de tal forma que \(\mathbb{E} [\varepsilon_i] = 0\). De esta forma \(\varepsilon_i\) se puede interpretar como la eficiencia productiva de las empresas. Considerando lo anterior plateamos la expresión: \[ln(C_i) = \beta_1 + \beta_2 ln(Q_i) + \beta_3 ln(p_{i1}) + \beta_4 ln(p_{i2}) + \beta_5 ln(p_{i3}) + \varepsilon_i\]

Donde: \[\beta_1 = \mu\]

\[\beta_2 = \frac{1}{r}\]

\[\beta_3 = \frac{\alpha_1}{r}\]

\[\beta_4 = \frac{\alpha_2}{r}\]

\[\beta_5 = \frac{\alpha_3}{r}\]

Por lo tannto: \[\beta_3 + \beta_4 + \beta_5 = 1\]

De esta forma podemos decir que \(y_i = ln(C_i)\) y que: \[\mathbf{X}'_i = [\mathbb{1}, ln(Q_i), ln(p_{i1}), ln(p_{i2}), ln(p_{i3})]\]

Esta función también es conocida como una función trans-log o trans-logarítmica, de la cual podemos recuperar una forma estimada de la función de costos original:

Plan de la clase:

Regresión lineal

Media condicional descrita por:

\[ln(C_i) = \beta_1 + \beta_2 ln(Output_i) + \beta_3 ln(plabor_{i1}) + \beta_4 ln(pfuel_{i2}) + \beta_5 ln(pkap_{i3}) + \varepsilon_i\]

Metadatos: La base de datos contiene 145 observaciones de las siguientes variables:

Datos de Demanda de Gasolina: * totcost: costs in 1970, MM USD

  • output: output billion KwH
  • plabor: price of labor
  • pfuel: price of fuel
  • pkap: price of capital

Read Stata file

dataframe <- read.dta("nerlove63.dta")

Preview

## [1] "totcost" "output"  "plabor"  "pfuel"   "pkap"
##   totcost output plabor pfuel pkap
## 1   0.082      2   2.09  17.9  183
## 2   0.661      3   2.05  35.1  174
## 3   0.990      4   2.05  35.1  171
## 4   0.315      4   1.83  32.2  166
## 5   0.197      5   2.12  28.6  233
## 6   0.098      9   2.12  28.6  195

Estadísticas descriptivas

##     totcost            output          plabor          pfuel      
##  Min.   :  0.082   Min.   :    2   Min.   :1.450   Min.   :10.30  
##  1st Qu.:  2.382   1st Qu.:  279   1st Qu.:1.760   1st Qu.:21.30  
##  Median :  6.754   Median : 1109   Median :2.040   Median :26.90  
##  Mean   : 12.976   Mean   : 2133   Mean   :1.972   Mean   :26.18  
##  3rd Qu.: 14.132   3rd Qu.: 2507   3rd Qu.:2.190   3rd Qu.:32.20  
##  Max.   :139.422   Max.   :16719   Max.   :2.320   Max.   :42.80  
##       pkap      
##  Min.   :138.0  
##  1st Qu.:162.0  
##  Median :170.0  
##  Mean   :174.5  
##  3rd Qu.:183.0  
##  Max.   :233.0

Nuevas variables:

dataframe$Ltotcost = log(dataframe$totcost)
dataframe$Loutput = log(dataframe$output)
dataframe$Lplabor = log(dataframe$plabor)
dataframe$Lpfuel = log(dataframe$pfuel)
dataframe$Lpkap = log(dataframe$pkap)
dataframe$avgcost = dataframe$totcost/dataframe$output

dataframe %>% head()
##   totcost output plabor pfuel pkap    Ltotcost   Loutput   Lplabor   Lpfuel
## 1   0.082      2   2.09  17.9  183 -2.50103600 0.6931472 0.7371640 2.884801
## 2   0.661      3   2.05  35.1  174 -0.41400142 1.0986123 0.7178398 3.558201
## 3   0.990      4   2.05  35.1  171 -0.01005033 1.3862944 0.7178398 3.558201
## 4   0.315      4   1.83  32.2  166 -1.15518265 1.3862944 0.6043160 3.471966
## 5   0.197      5   2.12  28.6  233 -1.62455157 1.6094379 0.7514160 3.353407
## 6   0.098      9   2.12  28.6  195 -2.32278783 2.1972246 0.7514160 3.353407
##      Lpkap    avgcost
## 1 5.209486 0.04100000
## 2 5.159055 0.22033334
## 3 5.141664 0.24750000
## 4 5.111988 0.07875000
## 5 5.451038 0.03940000
## 6 5.273000 0.01088889

Otras Estadisticas Descriptivas

Density plots

Regresion:

Estimadores:

\[\hat{\boldsymbol \beta} = (\mathbf{X'X})^{-1}\mathbf{X'Y}\]

La especificación más común de la prueba de hipótesis en el análisis de regresión es: \[H_0: \beta_k = 0\] \[H_a: \beta_k \neq 0\]

Lo que en términos de una prueba \(t\) es la siguiente: \[t = \frac{\hat{\beta}_k - 0}{\sqrt{\hat{\sigma}^2 (\mathbf{X}'\mathbf{X})^{-1}_{kk}}} \sim t_{n - k}\]

En el caso que nos ocupa queremos probar si la suma de los coeficientes asociados los factores productivos es 1, es decir, la función de costos exibe rendimientos constantes a escala: \[H_0: \beta_3 + \beta_4 + \beta_5 = 1\] \[H_1: \beta_3 + \beta_4 + \beta_5 \neq 1\]

Existen dos alternativas para probar la hipótesis. Partamos de que: La matriz \(\mathbf{R}\) y vector \(\mathbf{r}\): \[\mathbf{R} = \left[ \begin{array}{c c c c c} 0 & 0 & 1 & 1 & 1 \end{array} \right]\]

\[\mathbf{r} = 1\]

\[t = \frac{\beta_3 + \beta_4 + \beta_5 - 1}{\sqrt{\hat{\sigma}^2 \mathbf{R} (\mathbf{X}'\mathbf{X})^{-1} \mathbf{R}'}} \sim t_{n - k}\]

Scatter plots

## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No scatter mode specifed:
##   Setting the mode to markers
##   Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode

Regresión lineal

## 
## Call:
## lm(formula = Ltotcost ~ Loutput + Lplabor + Lpfuel + Lpkap, data = dataframe)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.97784 -0.23817 -0.01372  0.16031  1.81751 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -3.52650    1.77437  -1.987   0.0488 *  
## Loutput      0.72039    0.01747  41.244  < 2e-16 ***
## Lplabor      0.43634    0.29105   1.499   0.1361    
## Lpfuel       0.42652    0.10037   4.249 3.89e-05 ***
## Lpkap       -0.21989    0.33943  -0.648   0.5182    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3924 on 140 degrees of freedom
## Multiple R-squared:  0.926,  Adjusted R-squared:  0.9238 
## F-statistic: 437.7 on 4 and 140 DF,  p-value: < 2.2e-16

Regresión lineal - Linear Hypothesis

\[H_0: \beta_3 + \beta_4 + \beta_5 = 1\] \[H_1: \beta_3 + \beta_4 + \beta_5 \neq 1\]

## Linear hypothesis test
## 
## Hypothesis:
## Lplabor  + Lpfuel  + Lpkap = 1
## 
## Model 1: restricted model
## Model 2: Ltotcost ~ Loutput + Lplabor + Lpfuel + Lpkap
## 
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1    141 21.640                           
## 2    140 21.552  1  0.088311 0.5737 0.4501